In modern times, users are confronted with more and more devices likes personal computers, laptop computers, personal digital assistants, smart phones, mobile phones, and other devices capable of operating software programs and processing and communicating data. Synchronization between devices is a critical issue to avoid negative user experience and non-usage of otherwise good device functionalities.
It is known to synchronize non-user specific device capabilities like e.g. the screen size, the computing power, the operational system, the Wireless Application Part version etc. by a Wireless Application Part User Profile Agent (WAP UAP). Furthermore, user data like electronic calendar entries, address book entries, or emails can be synchronized between devices. For example, calendar entries in an electronic calendar on a personal computer can be synchronized with an electronic calendar on a mobile phone or vice versa. The SyncML Sync Protocol is a protocol that supports synchronization of user data between a SyncML client and a SyncML server, see SyncML Sync Protocol, version 1.1 (Feb. 15, 2001) at Open Mobile Alliance (OMA) web pages.
When the user changes from a first to a second device, he is usually confronted with the problem that the software program he is used to operate on the first device is not present on the second device. For example, the user may use an electronic calendar of a first kind on the first device but when operating the second device he may only find an electronic calendar of a second kind with totally different user interface and operation characteristics. While it may be possible to synchronize the calendar entries e.g. via SyncML, it is not very user-friendly to require the user to adapt to the different user interface and different operability of the same purpose software programs on the two devices. The problem occurs also, when the user buys a new device where the software programs he is used to operate are not present.
The problem is further intensified by the increasing number and variety of devices a user operates caused e.g. by innovation, very short development and time-to-market periods, an increasing number of niche devices and intensive marketing increasing the demand for new devices. However, with increasing number of devices being replaced in shorter and shorter time intervals, the user feels a strong need for operating the same software programs on his devices which reduces time and effort for training. What is needed is therefore a solution, which provides the user with software programs that he is used to operate on a first device on one or more further devices.